package 电影院;

import java.util.Scanner;

public class 管理员 extends 售票{
    private String name;
    private String mima;
    private int USERID;
    private static int m=1;
    public 管理员() {
        this.name ="admin";
        this.mima = "ynuinfo#777";
        this.USERID=m++;
    }


    public int 登录(String name, String mima){
        if (USERID==0){
            System.out.println("你已经不是该影院的员工，请退出");
            return 0;
        }
        if (this.name.equals(name)&&this.mima.equals(mima)){
            System.out.println("恭喜管理员登陆成功，开启牛马的一天");
            return 1;
        }
        System.out.println("管理员登陆失败，开启不了牛马的一天");
        return 0;
    }
    public void 重置前台密码(前台 a[]){
        System.out.println("请输入要重置的前台的用户名");
        Scanner sc = new Scanner(System.in);
        String name=sc.nextLine();
        for (int i = 0; i <a.length; i++) {
            if (a[i].getqtName().equals(name)) {
                a[i].setqtMima("123456");
                System.out.println("今天重置了前台" + a[i].getqtName() + "的密码，操作人" + this.name);
                return;
            }
        }
        System.out.println("未找到要重置的用户");
        return;
    }
    public void 重置经理密码(经理 a[]){
        System.out.println("请输入要重置的经理的用户名");
        Scanner sc = new Scanner(System.in);
        String name=sc.nextLine();
        for (int i = 0; i <a.length; i++) {
            if (a[i].getjlName().equals(name)) {
                a[i].setjlMima("123456");
                System.out.println("今天重置了经理" + a[i].getjlName() + "的密码，操作人" + this.name);
                return;
            }
        }
        System.out.println("未找到要重置的用户");
        return;
    }

    public void 列出所有用户信息(经理 jl[],前台 qt[]){
        System.out.println("经理：");
        for (int i = 0; i < jl.length; i++) {
            System.out.println("用户ID："+jl[i].getUSERID());
            System.out.println("用户名："+jl[i].getjlName());
            System.out.println("注册时间："+jl[i].getDate());
            System.out.println("用户类型："+jl[i].getLiexing());
            System.out.println("用户手机号："+jl[i].getPhonenumber());
        }
        System.out.println("前台：");
        for (int i = 0; i < qt.length; i++) {
            System.out.println("用户ID："+qt[i].getUSERID());
            System.out.println("用户名："+qt[i].getqtName());
            System.out.println("注册时间："+qt[i].getDate());
            System.out.println("用户类型："+qt[i].getLiexing());
            System.out.println("用户手机号："+qt[i].getPhonenumber());
        }
    }

    public void 删除经理信息(经理 jl[]){
        Scanner sc = new Scanner(System.in);
        System.out.println("请输入要删除的经理的用户名");
        String name=sc.nextLine();
        for (int i = 0; i <jl.length; i++) {
            if (jl[i].getjlName().equals(name)){
                System.out.println("删除后无法恢复请确认是否删除，1删除，2取消");
                int n=sc.nextInt();
                if (n==2) return;
                jl[i].setUSERID(0);
                System.out.println("已成功删除");
            }
        }
        System.out.println("未找到要删除的用户");
        return;
    }

    public void 删除前台信息(前台 qt[]){
        Scanner sc = new Scanner(System.in);
        System.out.println("请输入要删除的前台的用户名");
        String name=sc.nextLine();
        for (int i = 0; i <qt.length; i++) {
            if (qt[i].getqtName().equals(name)){
                System.out.println("删除后无法恢复请确认是否删除，1删除，2取消");
                int n=sc.nextInt();
                if (n==2) return;
                qt[i].setUSERID(0);
                System.out.println("已成功删除");
            }
        }
        System.out.println("未找到要删除的用户");
        return;
    }

    public void 删除管理员信息(管理员 gly[]){
        Scanner sc = new Scanner(System.in);
        System.out.println("请输入要删除的管理员的用户名");
        String name=sc.nextLine();
        for (int i = 0; i <gly.length; i++) {
            if (gly[i].getglyName().equals(name)){
                System.out.println("删除后无法恢复请确认是否删除，1删除，2取消");
                int n=sc.nextInt();
                if (n==2) return;
                if(gly[i].getglyName().equals("admin"))
                    System.out.println("你无权删除该用户");
                gly[i].setUSERID(0);
                System.out.println("已成功删除");
            }
        }
        System.out.println("未找到要删除的用户");
        return;
    }

    public void 查询用户信息(经理 jl[],前台 qt[],管理员 gly[]) {
        Scanner sc = new Scanner(System.in);
        System.out.println("输入要查询的用户名");
        String astring = sc.nextLine();
        for (int i = 0; i < jl.length; i++) {
            if (jl[i].getjlName().equals(astring)) {
                System.out.println("查询到了是" + (i + 1) + "号经理");
                return;
            }
            for (int j = 0; j < qt.length; j++) {
                if (qt[j].getqtName().equals(astring)) {
                    System.out.println("查询到了是" + (j + 1) + "号前台");
                    return;
                }
            }
            for (int j = 0; j < gly.length; j++) {
                if (gly[j].getglyName().equals(astring)) {
                    System.out.println("查询到了是" + (j + 1) + "号管理员");
                    return;
                }
            }
        }
    }

    public 经理 增加经理(String date,String phonenumber){
       经理 jl=new 经理(date,phonenumber);
       System.out.println("增加经理"+jl.getjlName()+"操作人"+getglyName());
        return jl;
    }
    public 管理员 增加管理员(){
        管理员 gly=new 管理员();
        System.out.println("增加经理"+gly.getglyName()+"操作人"+getglyName());
        return gly;
    }
    public 前台 增加前台(String date,String phonenumber){
        前台 qt=new 前台(date,phonenumber);
        System.out.println("增加经理"+qt.getqtName()+"操作人"+getglyName());
        return qt;
    }

    public void 修改前台信息(前台 qt[]){
        Scanner sc = new Scanner(System.in);
        System.out.println("请输入要修改的前台的用户名");
        String name=sc.nextLine();
        for (int i = 0; i <qt.length; i++) {
            if (qt[i].getqtName().equals(name)){
                System.out.println("输入修改后的类型");
                qt[i].setLiexing(sc.nextLine());
                System.out.println("输入修改后的电话号码");
                qt[i].setPhonenumber(sc.nextLine());
                System.out.println("修改完成");
            }
        }
        System.out.println("未找到要修改的用户");
        return;
    }

    public void 修改经理信息(经理 jl[]){
        Scanner sc = new Scanner(System.in);
        System.out.println("请输入要修改的经理的用户名");
        String name=sc.nextLine();
        for (int i = 0; i <jl.length; i++) {
            if (jl[i].getjlName().equals(name)){
                System.out.println("输入修改后的类型");
                jl[i].setLiexing(sc.nextLine());
                System.out.println("输入修改后的电话号码");
                jl[i].setPhonenumber(sc.nextLine());
                System.out.println("修改完成");
            }
        }
        System.out.println("未找到要修改的用户");
        return;
    }

    public void 退出登录(){
        System.out.println("退出登录成功，工作结束，休息亿下吧");
    }

    public String getglyName() {
        return name;
    }

    public void setglyName(String name) {
        this.name = name;
    }

    public String getglyMima() {
        return mima;
    }

    public void setglyMima(String mima) {
        this.mima = mima;
    }
    public void setUSERID(int USERID) {
        this.USERID = USERID;
    }
}
